package com.usian.admin.feign;

import com.usian.model.article.pojos.ApArticle;
import com.usian.model.article.pojos.ApArticleConfig;
import com.usian.model.article.pojos.ApArticleContent;
import com.usian.model.article.pojos.ApAuthor;
import com.usian.model.common.dtos.ResponseResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

@FeignClient("leadnews-article")
public interface ArticleFeign {

    // 1 保存文章信息  ap_article，需要返回当前文章，并且需要获取保存后获取到的主键
    @PostMapping("api/v1/article/save")
    ApArticle saveArticle(@RequestBody ApArticle apArticle);
    // 2 保存文章配置信息  ap_article_config
    @PostMapping("api/v1/article_config/save")
    ResponseResult saveArticleConfig(@RequestBody ApArticleConfig apArticleConfig);
    // 3 保存文章内容 ap_article_content
    @PostMapping("api/v1/article_content/save")
    ResponseResult saveArticleContent(@RequestBody ApArticleContent apArticleContent);
    // 4 在保存文章的时候需要关联作者，需要根据名称查询作者信息

    @GetMapping("/api/v1/author/findByName/{name}")
    ApAuthor findByName(@PathVariable String name);

}
